package cn.com.jinhao.provider.user.service;

import cn.com.jinhao.hotline.commons.exception.BusinessErrorException;
import cn.com.jinhao.hotline.commons.vo.business.LinkManInDeptResponseVO;
import cn.com.jinhao.hotline.commons.vo.user.AddressBookRequestVO;

import java.util.List;

public interface AddressBookService {
    /**
     * 通过部门查询该部门下的联系人信息
     *
     * @param deptCode 部门编码
     * @return LinkManInDeptResponseVo  {@link LinkManInDeptResponseVO}
     */
    List<LinkManInDeptResponseVO> queryByDeptCode(String deptCode) throws Exception;

    /**
     * 新增联系人信息
     * @param addressBookRequestVO  联系人信息入参类  {@link AddressBookRequestVO}
     * @throws BusinessErrorException 业务异常   当新增没有成功时候报错给前端
     */
    void add(AddressBookRequestVO addressBookRequestVO) throws BusinessErrorException;

    /**
     * 修改联系人信息
     * @param addressBookRequestVO 联系人信息入参类  {@link AddressBookRequestVO}
     * @throws BusinessErrorException 业务异常    当更新数据没有时候报错给前端
     */
    void update(AddressBookRequestVO addressBookRequestVO) throws BusinessErrorException;

    /**
     * 删除联系人信息
     * @param id    主键ID
     * @throws BusinessErrorException   业务异常   删除失败时报错给前端
     */
    void delete(String id) throws BusinessErrorException;

}
